package 两个数组的交集;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @author zhengTao
 * @version 1.0
 * @description: 两个数组的交集 II
 * @date 2022/10/16 10:30
 */
public class Demo350 {
    public static void main(String[] args) {
        int[] nums1=new int[]{1,2,2,1};
        int[] nums2=new int[]{2,2};
        int[] intersect = intersect(nums1, nums2);
        System.out.println();
    }
    public  static int[] intersect(int[] nums1, int[] nums2) {
         int[] temp1=new int[1005];
         Arrays.fill(temp1,0);
         List<Integer> res=new ArrayList<>();
        for (int i = 0; i < nums1.length; i++) {
             temp1[nums1[i]]++;
        }
        for (int i = 0; i < nums2.length; i++) {
            if (temp1[nums2[i]]>0) {
                res.add(nums2[i]);
                temp1[temp1[i]]--;
            }
        }
        return res.stream().mapToInt(x->x).toArray();
    }
}
